In-band signaling involves the transmission of control information in the same communication channel used for voice or data communication. Exemplary control information includes information about call setup, call routing, caller-ID, etc. In contrast, out-of-band signaling data travels over a separate path from voice and data calls.
To provide an integrated routing experience, an edge device, such as a routing switch or a session border controller (SBC), often needs to convert out-of-band data into in-band data, in the form of RTP packets for example, and insert the converted data into an in-band data stream, such as into an RTP stream. In addition, an edge device needs to be able to execute this type of conversion and insertion for many RTP streams simultaneously.
An edge device can use digital signal processors (DSPs) to perform such tasks. For example, when out-of-band data needs to be inserted into a particular RTP stream, an edge device can use one or more DSPs to terminate the incoming stream and then generate an outgoing stream with new RTP packets carrying out-of-band data inserted into the outgoing stream. However, this approach is expensive because DSPs are required. According to another known approach, an edge device can insert new packets carrying out-of-band data into an RTP stream by re-sequencing all the packets in the stream without discarding any existing in-band RTP packets. However, the computational complexity involved for such an operation is quite high.
Hence, efficient systems and methods are needed for inserting out-of-band data into in-band data streams without using dedicated resources, such as DSPs, or requiring high computational complexities.